<HTML>

<HEAD>
  <TITLE>SimGear Anonymous CVS Instructions</TITLE>
  <LINK REV="MADE" HREF="mailto:curt@flightgear.org">
  <LINK REL="StyleSheet" TYPE="text/css" HREF="../simgear.css">
</HEAD>


<BODY>

<H1>SimGear Anonymous CVS Instructions</H1>

<HR>

<H3>Checking out a copy of the source code</H3>

The SimGear source code is available via anonymous (read only) cvs.
To check out a local copy of the SimGear source, run the following
commands:
<P>

<STRONG>Development Branch:</STRONG>
This is where all new development, new features, and API changes will
go.

<UL>
<PRE>
    cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 login
    CVS passwd: guest

    cvs -d :pserver:cvsguest@cvs.simgear.org:/var/cvs/SimGear-0.3 co source
</PRE>
</UL>

<P>

<HR>

<H3>View the CVS logs and differences online</H3>

<UL>
  <!-- <LI> <A HREF="http://cvs.flightgear.org/cgi-bin/viewvc/viewvc.cgi/?root=SimGear-0.2">
Interactively peruse the CVS logs, differences, and source code (Stable branch.)</A> -->
  <LI> <A HREF="http://cvs.flightgear.org/cgi-bin/viewvc/viewvc.cgi/?root=SimGear-0.3">
Interactively peruse the CVS logs, differences, and source code (Development branch.)</A>
</UL>

<P>
<HR>

<H3>Now that you are a Developer</H3>

Before you can build the executables, you need to do one thing (as a
developer) that isn't required if you are just building a regular
source distribution.  From the top level SimGear directory (the same
one that has "configure.in", run:
<P>

<PRE>
    ./autogen.sh
</PRE>

This will create the "configure" script and create all the
"Makefile.in" files.
<P>

If you have problems running the ./autogen.sh script, make sure you
have both automake and autoconf installed on your system and try
again.

Now you can run ./configure; make; make install
<P>

<HR>

<H3>Keeping your local copy in sync</H3>

Finally (and this is the good part) if you cd to the toplevel SimGear
source directory (the one that was created with the very first
checkout command) and run "cvs update -dP", your local source tree
will be automatically synced with the master repository.  The "-d"
flag automatically adds any new directories that have been created in
the repository, and the "-P" automatically removes any old directories
that have been removed from the repository.
<P>

CVS is pretty smart, so if you have made local changes that don't conflict
with any changes to the master repository, cvs should be able to merge the 
changes together, even when the changes have been made to the same file.
<P>

If you have made changes that do conflict with new changes to the master 
repository, cvs will let you know, and you can go edit the file with 
conflicts and resolve them.
<P>

If you contribute changes or patches, it would be great if you first
make sure they are merged with the latest CVS version before
submitting them.
<P>

<!-- Standard Footer Begin -->

<HR>

<ADDRESS>
Last modified:  7/5/2006 <BR>
<A HREF="http://www.menet.umn.edu/~curt/">Curtis L. Olson</A> <BR>
<IMG SRC="http://www.flightgear.org/email-fg.png">
</ADDRESS>

<!-- Standard Footer End -->

</BODY>
</HTML>
